/*
 * protocolMaker.hpp
 *
 *  Created on: 2012-9-25
 *      Author: Administrator
 */

#ifndef PROTOCOLMAKER_HPP_
#define PROTOCOLMAKER_HPP_

#include <stdlib.h>
#include <stdio.h>
#include <stdint.h>


extern char inputDirPath[] ;
extern char cppDirPath[] ;
extern char CSharpNotifyDefPath[] ;
extern char CSharpProtoDefPath[] ;
extern char cSharpDirPath[] ;

extern char workBuff[1024 * 1024] ;

typedef struct ProtocalType_t {
	char name[256] ;

	char *hppContent ;
	size_t hppSize ;
	char *cppContent ;
	size_t cppSize ;
	char* csContent ;
	size_t csSize ;
	struct ProtocalType_t *next ;
} ProtocalType ;

typedef struct ProtocalRequester_t {
	char name[256] ;
	uint32_t id ;
	char notify[256] ;
	char *comment ;

	char *hppContent ;
	size_t hppSize ;
	char *cppContent ;
	size_t cppSize ;
	char* csContent ;
	size_t csSize ;
	struct ProtocalRequester_t *next ;
} ProtocalRequester ;

typedef struct ProtocalRespond_t {
	char name[256] ;
	uint32_t id ;
	char notify[256] ;
	char *comment ;

	char *hppContent ;
	size_t hppSize ;
	char *cppContent ;
	size_t cppSize ;
	char* csContent ;
	size_t csSize ;
	struct ProtocalRespond_t *next ;
} ProtocalRespond ;

typedef struct ProtocolModify_t {
	char modify[1024] ;
	struct ProtocolModify_t *next ;
} ProtocolModify ;

typedef struct ProtocolInclude_t {
	char file[256] ;
	struct ProtocolInclude_t *next ;
} ProtocolInclude ;

typedef struct ProtocolModule_t{
	char name[256] ;
	uint32_t id ;

	char summary[1024] ;
	char creator[1024] ;
	ProtocolModify modifies ;
	ProtocolModify *lastModify ;
	ProtocolInclude includes ;
	ProtocolInclude *lastInclude ;



	ProtocalType* types ;
	ProtocalRequester* requesters ;
	ProtocalRespond* responds ;

} ProtocolModule ;

typedef struct ProtocolDef_t {


} ProtocolDef;




#endif /* PROTOCOLMAKER_HPP_ */
